#pragma once
#include <windows.h>
#include <directxmath.h>
#include <d3d11_1.h>
#include "MeshCreator.h"
#include <directxcolors.h>
#include "ShaderStructures.h"
#include "DXHelper.h"
#include "DDSTextureLoader.h"

using namespace DirectX;
using namespace ShaderStructures;

class GraphicClass
{
public:
	GraphicClass(HINSTANCE hInstance, HWND hwnd);
	~GraphicClass();

	void Render();

	HRESULT InitDevice();
	HRESULT InitRenderStates();
	HRESULT CreateDepthStencilView();
	HRESULT PreparePixelShader();
	HRESULT PrepareGeometryShader();
	HRESULT PrepareVertexShader();
	HRESULT PrepareHullShader();
	HRESULT PrepareDomainShader();
	void CleanupDevice();

private:
	HINSTANCE m_hInst;
	HWND m_hWnd;


};

